package com.weyoung.app.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.weyoung.app.pojo.dto.req.UserLoginReqDTO;
import com.weyoung.app.pojo.dto.req.UserUpdateReqDTO;
import com.weyoung.app.pojo.dto.resp.UserDetailRespDTO;
import com.weyoung.app.pojo.dto.resp.UserLoginRespDTO;
import com.weyoung.app.pojo.entity.User;

/**
 * 用户实体的 Service 接口，继承自 IService 以使用 MyBatis-Plus 提供的基本服务方法
 */
public interface UserService extends IService<User> {
    /**
     * 根据 openid 查询用户信息
     *
     * @param openid 微信 openid
     * @param rawData 用户非敏感信息
     * @return 用户信息
     */
    UserDetailRespDTO WXLogin(String openid,String rawData,String avatarUrl);

    /**
     * 用户登录
     *
     * @param requestPram 请求参数
     * @return 用户登录信息
     */
    UserDetailRespDTO login(UserLoginReqDTO requestPram);

    /**
     *  用户信息更新
     *
     * @param requestPram 请求参数
     * @return 用户信息
     */
    UserDetailRespDTO update(UserUpdateReqDTO requestPram);

    /**
     * 获取用户信息
     *
     * @return 用户信息
     */
    UserDetailRespDTO getUserDetail();
}